﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidad;
using Negocio.BL;

namespace EvolSoftWeb
{
    public partial class wfrmRegistrarHabitacion : System.Web.UI.Page
    {
        SeguridadLogic logic = new SeguridadLogic();
        UsuarioLogic usu = new UsuarioLogic();
        HabitacionLogic blHabitacion;
        ReservaLogic blReserva;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (true)
            {
                this.inicializar();
                this.cargarComboHabitacionDisponible();
                this.listarReservasXCliente();
            }
        }

        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            if (this.insertarReserva())
            {
                lblmsgOK.Text = "Se registro la reserva correctamente";
                popupOK.ShowOnPageLoad = true;
                this.listarReservasXCliente();
                this.limpiarControles();
            }
        }

        private void limpiarControles()
        {
            cbohabitacion.Text = string.Empty;
            detfechaalquiler.Text = string.Empty;
            detfecharesevar.Text = string.Empty;
            detfechasalida.Text = string.Empty;
        }
        private bool insertarReserva()
        {
            blReserva = new ReservaLogic();
            bool flag = false;
            try
            {
                SRH_RESERVA obj = new SRH_RESERVA();
                obj.usuario = lblUsuario.Text;
                obj.fec_alquiler = detfechaalquiler.Date;
                obj.fec_reserva = detfecharesevar.Date;
                obj.fec_salida = detfechasalida.Date;
                obj.idHabitacion=Convert.ToInt32(cbohabitacion.Value);
                obj.idReserva = blReserva.ObtenerNroReserva();
                obj.idServicios = null;
                if (blReserva.Insertar(obj))
                {
                     flag=true;

                }
               
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
            return flag;
        }

        private void cargarComboHabitacionDisponible()
        {
            blHabitacion = new HabitacionLogic();
            try
            {
                cbohabitacion.DataSource = blHabitacion.listarhabitacionesDisponibles();
                cbohabitacion.TextField = "idHabitacion";
                cbohabitacion.ValueField = "idHabitacion";
                cbohabitacion.DataBind();
            }
            catch (Exception ex)
            { lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }

        private void listarReservasXCliente()
        {
            blReserva = new ReservaLogic();
            try
            {
                string user=lblUsuario.Text;
                if (user!=string.Empty)
	{
        grdReserva.DataSource = blReserva.listarReservaXuser(user);
        grdReserva.DataBind();
	}
                
            }
            catch (Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }
        private  void inicializar(){

            try
            {

                T_S_USUARIO usuario = usu.listarUser((Global.user).ToString())[0];
                //new clsUsuarioLogic().listarUser((Global.user).ToString())[0];

               
                this.lblUsuario.Text = usuario.ID_USUARIO;
                //this.Session[DatosSesion.IndVendedor] = usuario.IND_VENDEDOR;
                //this.Session[DatosSesion.CodigoVendedor] = usuario.COD_VENDEDOR;

            }
            catch(Exception ex)
            {
                lblmsgOK.Text = ex.InnerException == null ? ex.Message : ex.InnerException.Message;
                popupOK.ShowOnPageLoad = true;
            }
        }
    }
}